
from sklearn.feature_extraction.text import TfidfVectorizer


tfidf_vec = TfidfVectorizer()
# stop words 自定义停用词表，为列表List类型
# token_pattern 过滤规则，正则表达式，如r"(?u)bw+b
# max_df=0.5，代表一个单词在 50% 的文档中都出现过了，那么它只携带了非常少的信息，因此就不作为分词统计

documents = [
    'this is the bayes document',
    'this is the second second document',
    'and the third one',
    'is this the document'
]

# 拟合模型，并返回文本矩阵  表示了每个单词在每个文档中的 TF-IDF 值
tfidf_matrix = tfidf_vec.fit_transform(documents)


print('返回停用词表:', tfidf_vec.stop_words_)
print('单词:', tfidf_vec.get_feature_names_out())
print('返回idf值:', tfidf_vec.idf_)
print('输出每个单词在每个文档中的 TF-IDF 值：', '\n', tfidf_matrix.toarray())

